home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 1 / Gold Medal Software Volume 1 (Gold Medal) (1994).iso / graphics / tierra40.arj / TIERRA / PORTABLE.H < prev    next >
C/C++ Source or Header  |  1992-09-09  |  3KB  |  121 lines

  1. /* portable.h  9-9-92  definitions for portability */
  2. /* Tierra Simulator V4.0: Copyright (c) 1991, 1992 Tom Ray & Virtual Life */
  3. /*
  4. #ifndef lint
  5. static char     sccsid[] = "@(#)portable.h    1.30     11/16/91";
  6. #endif
  7. */
  8.  
  9. #include "license.h"
  10.  
  11. #ifndef PORTABLE_H
  12. #define PORTABLE_H
  13.  
  14. #ifdef __TRS6000__
  15. #define unix
  16. #endif
  17.  
  18. #ifdef __TURBOC__
  19.  
  20. #include <stdlib.h>
  21. #include <limits.h>
  22. #include <alloc.h>
  23. #include <dir.h>
  24. #include <dos.h>
  25. #include <mem.h>
  26. #define ANSI
  27. #define Hp     huge  *
  28. #define Fp     far   *
  29. #define Np     near  *
  30. typedef signed char      I8s;   /*  8 bit integer */
  31. typedef unsigned char    I8u;   /*  8 bit integer */
  32. typedef signed int       I16s;  /* 16 bit integer */
  33. typedef unsigned int     I16u;  /* 16 bit integer */
  34. typedef signed long      I32s;  /* 32 bit integer */
  35. typedef unsigned long    I32u;  /* 32 bit integer */
  36.  
  37. #endif /* __TURBOC__ */
  38.  
  39. #ifdef MSDOS /* always defined by Microsoft C compiler & NDPC compiler */
  40.              /* Microsoft C sets _osmode == OS2_MODE or DOS_MODE */
  41.  
  42.              /* for OS/2: */
  43.              /* #define OS2_MC
  44.                 #define INCL_DOS
  45.                 #include <os2.h>
  46.                 #include <limits.h>
  47.                 #include <stdlib.h>  */
  48.  
  49. #define ANSI
  50. #define Hp     huge  *
  51. #define Fp     far   *
  52. #define Np     near  *
  53. typedef signed char      I8s;   /*  8 bit integer */
  54. typedef unsigned char    I8u;   /*  8 bit integer */
  55. typedef signed int       I16s;  /* 16 bit integer */
  56. typedef unsigned int     I16u;  /* 16 bit integer */
  57. typedef signed long      I32s;  /* 32 bit integer */
  58. typedef unsigned long    I32u;  /* 32 bit integer */
  59.  
  60. #endif /* MSDOS */
  61.  
  62. #ifdef unix
  63.  
  64. #ifdef __GNUC__
  65.  
  66. #include <limits.h>
  67. #define ANSI
  68.  
  69. #else  /* __GNUC__ not defined */
  70.  
  71. #define UCHAR_MAX ((unsigned char) (~0))
  72. #define CHAR_MAX ((char) (UCHAR_MAX >> 1))
  73. #define UINT_MAX ((unsigned short) (~0))
  74. #define INT_MAX ((short) (UINT_MAX >> 1))
  75. #define ULONG_MAX ((unsigned int) (~0))
  76. #define LONG_MAX ((int) (ULONG_MAX >> 1))
  77.  
  78. #endif /* __GNUC__ */
  79.  
  80. #define Hp     *
  81. #define Fp     *
  82. #define Np     *
  83. typedef char             I8s;   /*  8 bit integer */
  84. typedef unsigned char    I8u;   /*  8 bit integer */
  85. typedef short            I16s;  /* 16 bit integer */
  86. typedef unsigned short   I16u;  /* 16 bit integer */
  87. typedef int              I32s;  /* 32 bit integer */
  88. typedef unsigned int     I32u;  /* 32 bit integer */
  89.  
  90. #endif /* unix */
  91.  
  92. #ifdef IBM3090
  93.  
  94. #define UCHAR_MAX ((unsigned char) (~0))
  95. #define CHAR_MAX ((char) (UCHAR_MAX >> 1))
  96. #define UINT_MAX ((unsigned short) (~0))
  97. #define INT_MAX ((short) (UINT_MAX >> 1))
  98. #define ULONG_MAX ((unsigned int) (~0))
  99. #define LONG_MAX ((int) (ULONG_MAX >> 1))
  100. #define Hp     *
  101. #define Fp     *
  102. #define Np     *
  103. typedef char             I8s;   /*  8 bit integer */
  104. typedef unsigned char    I8u;   /*  8 bit integer */
  105. typedef short            I16s;  /* 16 bit integer */
  106. typedef unsigned short   I16u;  /* 16 bit integer */
  107. typedef int              I32s;  /* 32 bit integer */
  108. typedef unsigned int     I32u;  /* 32 bit integer */
  109.  
  110. #endif /* IBM3090 */
  111.  
  112. #ifdef ANSI           /* ANSI prototyping */
  113. #define P_(A) A
  114. #define const const
  115. #else                 /* non-ANSI prototyping */
  116. #define P_(A) ()
  117. #define const
  118. #endif
  119.  
  120. #endif /* #ifndef PORTABLE_H */
  121.